/*
 * =====================================================================================
 *
 *       Filename:  linkqueue.h
 *
 *    Description:  
 *
 *        Version:  1.0
 *        Created:  10/31/2010 08:48:24 PM
 *       Revision:  none
 *       Compiler:  gcc
 *
 *         Author:  YOUR NAME (), 
 *        Company:  
 *
 * =====================================================================================
 */

#ifndef _LINKQUEUE_H_
#define _LINKQUEUE_H_

typedef int lqdata;
typedef int status;

typedef struct QNode
{
    lqdata data;
    struct QNode * next;
}QNode, *QueuePtr;

typedef struct {
    QueuePtr front;
    QueuePtr rear;
}linkqueue;

status init_queue(linkqueue *L);
status destroy_queue(linkqueue *L);
status clear_queue(linkqueue *L);
status queue_empty(linkqueue *L);
int queue_length(linkqueue *L);
status enqueue(linkqueue *L, lqdata e);
status dequeue(linkqueue *L, lqdata *e);
//status queue_traverse(linkqueue *L, void (*)visit(lqdata));
status display(linkqueue *L);




#endif
